#ifndef __VIO_H__
#define __VIO_H__

#include "common.h"

typedef struct buf buf_t;

// 外部接口

void disk_init(void);                            // 初始化
void disk_rw(buf_t* buf, bool write);            // 对磁盘的读写操作
void disk_intr();                                // VIO中断处理

// 内部实现

void virtio_disk_init(void);                         // 初始化
void virtio_disk_rw(buf_t* buf, bool write);         // 对磁盘的读写操作
void virtio_disk_intr();                             // 中断处理

void ram_disk_init(void);                            // 初始化
void ram_disk_rw(buf_t* buf, bool write);            // 对磁盘的读写操作
void ram_disk_intr();                                // VIO中断处理

#endif